GolaemΒΆ
Guerilla Render can render the Golaem procedural crowd.
Installation
Linux
Guerilla uses the glmCrowdGuerillaPlugin.so DSO. The Golaem lib and procedurals/guerilla directories should be added to the LD_LIBRARY_PATH variable before running "guerilla" or "render".
Windows
Guerilla uses the glmCrowdGuerillaPlugin.dll DLL. The Golaem bin and procedurals/guerilla directories should be added to the PATH variable before running "guerilla" or "render".
Load a Golaem crowd into Guerilla
In the Create menu, click the Create Golaem item. This create a NewGolaem node in the scene.
When you have a Golaem simulation cache ready, locate the .gscs file corresponding to this cache. You will find a collection of .gscf files, one per simulated frame. For instance:
/my/simulation/cache/testGuerilla.crowdField1.gscs
/my/simulation/cache/testGuerilla.crowdField1.1.gscf
/my/simulation/cache/testGuerilla.crowdField1.2.gscf
/my/simulation/cache/testGuerilla.crowdField1.3.gscf
...
- Crowd Fields: a list of semicolon separated field names (crowdField1 in the previous example)
- Cache Name: the cache name (testGuerilla in the previous example)
- Cache Directory: the directory where resides the cache (/my/simulation/cache/ in the previous example)
- Characters: the .gcha character file to bind to this simulation cache.
Golaem Shading
Shader assignement
The Golaem procedural uses the RenderGraphs to assign shaders and attributes to the procedural geometry. To setup the look of a Golaem procedural:
- Create a RenderGraph
- Set
RenderGraph -> Apply On to tags - Set
RenderGraph -> Tags to Golaem
The Golaem procedural uses RenderGraph paths in the form |entity name|mesh name, as in |entity1213001|LightArmor_cuirass. You can use the RenderGraph path node to select a particular piece of the character.
For instance, the following scene contains soldiers wearing armors. The armor parts are named |entity####|LightArmor_cuirass.
Using the 'LightArmor' path, you can assign the DiffuseColor texture of all armored parts.
Using the 'AttackerShiled' path, you can assign the DiffuseColor texture of all shields at once.
Texture variation
The Golaem procedural can assign random values to each entity, such as texture indices. Use the TextureSwitch shader to create variations.
The
Color variation
Golaem Crowd also provides random floating point values on each agent, that can be used as random source for simple color variations. Use the RandomizeColor node to randomly shift the Hue, Saturation and Value of the color.
Troubleshooting
To troubleshoot Golaem rendering, you can activate the RiCalls diagnostic which will log all communications between the procedural and the renderer. This is helpful to find which shader and shader parameters are provided by the procedural to Guerilla.
In the Passes view,
- Set the
Verbosity to Diagnostics - Check
Diagnostic RiCalls